<!--   tabs//-->
<div region="center" border=false split=true title="" style="">
	<div class="hisui-tabs tabs-gray-btm" data-options="border:false,split:true,fit:true"
		id="tabs" style="background-color: #F2F2F2;">
		<div title="首页" data-options="iconCls:'icon-home-gray'" border=false>
			<iframe scrolling="auto" frameborder="0"
				src="${ctxPath}/${homeUrl}"
				style="width: 100vw; height:calc(100% - 5px);" onload="Sys.closeLoading();"></iframe>
		</div>
	</div>
</div>
<div id="mm" class="hisui-menu cs-tab-menu">
    <div id="mm-tabupdate" onclick="tabCloseEven.tabupdate();">刷新</div>
    <div class="menu-sep" ></div>
    <div id="mm-tabclose" onclick="tabCloseEven.tabclose();">关闭</div>
    <div id="mm-tabcloseother" onclick="tabCloseEven.tabcloseother();">关闭其他</div>
    <div id="mm-tabcloseall" onclick="tabCloseEven.tabcloseall();">关闭全部</div>
    <div id="mm-tabcloseleft" onclick="tabCloseEven.tabcloseleft();">关闭左侧</div>
    <div id="mm-tabcloseright" onclick="tabCloseEven.tabcloseright();">关闭右侧</div>
</div> 
<script type="text/javascript">
	var SysTabObj = {};
	SysTabObj.addTab = function(title, url, closable) {
		Sys.loading();
		if ($('#tabs').tabs('exists', title)) {
			$('#tabs').tabs('select', title); //选中并刷新
			var currTab = $('#tabs').tabs('getSelected');
			//url = $(currTab.panel('options').content).attr('src');
			if (url != undefined) {
				$('#tabs').tabs('update', {
					tab : currTab,
					options : {
						content : createFrame(url)
					},
					onLoad:function(){
						Sys.closeLoading();
					}
				})
			}
		} else {
			var content = createFrame(url);
			$('#tabs').tabs('add', {
				style : {
					overflow : 'hidden'
				},
				title : title,
				content : content,
				closable : closable==undefined?true:closable,
				onLoad:function(){
					Sys.closeLoading();
				}
			});
			tabCloseEven.tabupdate();
		}
	}
	SysTabObj.getCurrentTabIndex = function() {
		var tab = $('#tabs').tabs('getSelected');
		return $('#tabs').tabs('getTabIndex',tab);
	}
	SysTabObj.closeTab = function(index) {
		if(index){
			$('#tabs').tabs('close', index);
		}else{
			$('#tabs').tabs('close', SysTabObj.getCurrentTabIndex());
		}
	}
	window.SysTabObj = SysTabObj;
	function createFrame(url) {
		var s = '<iframe scrolling="auto" frameborder="0"  src="' + url
				+ '" style="width:100%;height:100%;" onload="Sys.closeLoading();"></iframe>';
		return s;
	}
	//改为在jQuery加载完成调用 不再增加一个tab调用一次
	function initTabClose() {
		//双击关闭TAB选项卡
		$('.tabs-header').on('dblclick', '.tabs-inner', function() {
			var subtitle = $(this).children(".tabs-closable").text();
			$('#tabs').tabs('close', subtitle);
		}).on('contextmenu', '.tabs-inner', function(e) {
			e.preventDefault();
			var subtitle = $(this).children(".tabs-title").text(); //不嫩用.tabs-closable
			//做一些右键菜单的禁用启用
			if (subtitle == "首页") {
				$('#mm').menu('disableItem', $('#mm-tabupdate')[0]);
				$('#mm').menu('disableItem', $('#mm-tabclose')[0]);
			} else {
				$('#mm').menu('enableItem', $('#mm-tabupdate')[0]);
				$('#mm').menu('enableItem', $('#mm-tabclose')[0]);
			}

			var leftnum = $('.tabs-selected').prevAll().length;
			if (leftnum > 1) { //有个首页 要大于1
				$('#mm').menu('enableItem', $('#mm-tabcloseleft')[0]);
			} else {
				$('#mm').menu('disableItem', $('#mm-tabcloseleft')[0]);
			}
			var rightnum = $('.tabs-selected').nextAll().length;
			if (rightnum > 0) {
				$('#mm').menu('enableItem', $('#mm-tabcloseright')[0]);
			} else {
				$('#mm').menu('disableItem', $('#mm-tabcloseright')[0]);
			}

			if (leftnum > 1 || rightnum > 0) {
				$('#mm').menu('enableItem', $('#mm-tabcloseother')[0]);
			} else {
				$('#mm').menu('disableItem', $('#mm-tabcloseother')[0]);
			}
			$('#mm').menu('show', {
				left : e.pageX,
				top : e.pageY
			});
			$('#mm').data("currtab", subtitle);
			$('#tabs').tabs('select', subtitle);
			return false;
		});
	}

	//绑定右键菜单事件   
	var tabCloseEven = {
		//刷新
		tabupdate : function() {
			var currTab = $('#tabs').tabs('getSelected');
			var url = $(currTab.panel('options').content).attr('src');
			if (url != undefined) {
				$('#tabs').tabs('update', {
					tab : currTab,
					options : {
						content : createFrame(url)
					}
				})
			}
		},
		//关闭当前
		tabclose : function() {
			var currtab_title = $('#mm').data("currtab");
			$('#tabs').tabs('close', currtab_title);
		},
		//全部关闭
		tabcloseall : function() {
			$('.tabs-inner span').each(function(i, n) {
				var t = $(n).text();
				if (t != '首页') {
					$('#tabs').tabs('close', t);
				}
			});
		},
		//关闭除当前之外的TAB
		tabcloseother : function() {
			var prevall = $('.tabs-selected').prevAll();
			var nextall = $('.tabs-selected').nextAll();
			if (prevall.length > 0) {
				prevall.each(function(i, n) {
					var t = $('a:eq(0) span', $(n)).text();
					if (t != '首页') {
						$('#tabs').tabs('close', t);
					}
				});
			}
			if (nextall.length > 0) {
				nextall.each(function(i, n) {
					var t = $('a:eq(0) span', $(n)).text();
					if (t != '首页') {
						$('#tabs').tabs('close', t);
					}
				});
			}
			//需要重新选中当前
			$('#tabs').tabs('select', $('#mm').data('currtab'));
			return false;
		},
		//关闭当前右侧的TAB
		tabcloseright : function() {
			var nextall = $('.tabs-selected').nextAll();
			if (nextall.length == 0) {
				//msgShow('系统提示','后边没有啦~~','error');
				alert('后边没有啦~~');
				return false;
			}
			nextall.each(function(i, n) {
				var t = $('a:eq(0) span', $(n)).text();
				$('#tabs').tabs('close', t);
			});
			//需要重新选中当前
			$('#tabs').tabs('select', $('#mm').data('currtab'));

			return false;
		},
		//关闭当前左侧的TAB
		tabcloseleft : function() {
			var prevall = $('.tabs-selected').prevAll();
			if (prevall.length == 0) {
				alert('到头了，前边没有啦~~');
				return false;
			}
			prevall.each(function(i, n) {
				var t = $('a:eq(0) span', $(n)).text();
				if (t != '首页') {
					$('#tabs').tabs('close', t);
				}
			});
			//需要重新选中当前
			$('#tabs').tabs('select', $('#mm').data('currtab'));
			return false;
		},

		//退出
		exit : function() {
			$('#mm').menu('hide');
		}
	}
	$(function() {
		initTabClose();
	});
</script>
